package com.ssyt.ExaminationSystem.admin.dao;

import java.util.List;

import com.ssyt.ExaminationSystem.admin.entity.PermissionEntity;
import com.ssyt.ExaminationSystem.admin.entity.RoleEntity;
import com.ssyt.ExaminationSystem.student.entity.GradeEntity;

public interface IsystemDao {

	// 查询所有的角色
	public List<RoleEntity> initRoles();

	// 通过账号获取所有的菜单
	public List<PermissionEntity> getMenusByAccount(String account);

	// 查询所有的权限菜单
	public List<PermissionEntity> getPermissions();

	// 根据角色编号获取所有的权限
	public List<PermissionEntity> getGrantsByRoleId(String roleId);

	// 增加角色权限
	public int addGrant(String permissionId, String roleId);

	// 根据角色编号查询该角色时候已经拥有了权限
	public boolean isGrant(String roleId);

	// 根据角色编号取消该角色所有的权限
	public int revoke(String roleId);

	// 添加角色
	public int addRole(String roleName);

	// 删除角色
	public int deleteRole(String roleId);

	// 班级管理
	public List<GradeEntity> classManager();

	// 删除班级
	public int deleteGrade(String gradeId);

	// 修改班级前的查询
	public GradeEntity preUpdateGrade(String gradeId);

	// 修改班级
	public int updateGrade(String gradeId, String gradeName);

	// 查询所有的赋权限
	public List<PermissionEntity> getFatherGrant();

	// 通过付权限查询其下面的子权限
	public List<PermissionEntity> getSonGrantsById(String fatherId);

	// 从已有付权限的情况下，增加子权限
	public int addPermissions(PermissionEntity per);

	// 查询所有的权限
	public List<PermissionEntity> getAllGrants();

	// 删除权限
	public int deleteGrant(String permissionId);

	// 修改权限之前的查询
	public PermissionEntity preUpdateGrant(String permissionId);

	// 修改权限
	public int updateGrant(PermissionEntity permission);

}
